#ifndef _CkMime_H
#define _CkMime_H
#include "Chilkat_C.h"

HCkMime CkMime_Create(void);
void CkMime_Dispose(HCkMime handle);
void CkMime_getBoundary(HCkMime handle, HCkString retval);
void CkMime_putBoundary(HCkMime handle, const char *newVal);
void CkMime_getCharset(HCkMime handle, HCkString retval);
void CkMime_putCharset(HCkMime handle, const char *newVal);
void CkMime_getContentType(HCkMime handle, HCkString retval);
void CkMime_putContentType(HCkMime handle, const char *newVal);
void CkMime_getDisposition(HCkMime handle, HCkString retval);
void CkMime_putDisposition(HCkMime handle, const char *newVal);
void CkMime_getEncoding(HCkMime handle, HCkString retval);
void CkMime_putEncoding(HCkMime handle, const char *newVal);
void CkMime_getFilename(HCkMime handle, HCkString retval);
void CkMime_putFilename(HCkMime handle, const char *newVal);
void CkMime_getLastErrorHtml(HCkMime handle, HCkString retval);
void CkMime_getLastErrorText(HCkMime handle, HCkString retval);
void CkMime_getLastErrorXml(HCkMime handle, HCkString retval);
void CkMime_getMicalg(HCkMime handle, HCkString retval);
void CkMime_putMicalg(HCkMime handle, const char *newVal);
void CkMime_getName(HCkMime handle, HCkString retval);
void CkMime_putName(HCkMime handle, const char *newVal);
long CkMime_getNumEncryptCerts(HCkMime handle);
long CkMime_getNumHeaderFields(HCkMime handle);
long CkMime_getNumParts(HCkMime handle);
long CkMime_getNumSignerCerts(HCkMime handle);
void CkMime_getProtocol(HCkMime handle, HCkString retval);
void CkMime_putProtocol(HCkMime handle, const char *newVal);
BOOL CkMime_getUnwrapExtras(HCkMime handle);
void CkMime_putUnwrapExtras(HCkMime handle, BOOL newVal);
BOOL CkMime_getUseMmDescription(HCkMime handle);
void CkMime_putUseMmDescription(HCkMime handle, BOOL newVal);
BOOL CkMime_getUtf8(HCkMime handle);
void CkMime_putUtf8(HCkMime handle, BOOL newVal);
void CkMime_getVersion(HCkMime handle, HCkString retval);
BOOL CkMime_AddDetachedSignature(HCkMime handle, HCkCert cert);
BOOL CkMime_AddDetachedSignature2(HCkMime handle, HCkCert cert, BOOL transferHeaderFields);
BOOL CkMime_AddDetachedSignaturePk(HCkMime handle, HCkCert cert, HCkPrivateKey privateKey);
BOOL CkMime_AddDetachedSignaturePk2(HCkMime handle, HCkCert cert, HCkPrivateKey privateKey, BOOL transferHeaderFields);
BOOL CkMime_AddHeaderField(HCkMime handle, const char *name, const char *value);
BOOL CkMime_AppendPart(HCkMime handle, HCkMime mime);
BOOL CkMime_AppendPartFromFile(HCkMime handle, const char *filename);
BOOL CkMime_ContainsEncryptedParts(HCkMime handle);
BOOL CkMime_ContainsSignedParts(HCkMime handle);
void CkMime_Convert8Bit(HCkMime handle);
void CkMime_ConvertToMultipartAlt(HCkMime handle);
void CkMime_ConvertToMultipartMixed(HCkMime handle);
BOOL CkMime_ConvertToSigned(HCkMime handle, HCkCert cert);
BOOL CkMime_ConvertToSignedPk(HCkMime handle, HCkCert cert, HCkPrivateKey privateKey);
BOOL CkMime_Decrypt(HCkMime handle);
BOOL CkMime_Decrypt2(HCkMime handle, HCkCert cert, HCkPrivateKey privateKey);
BOOL CkMime_Encrypt(HCkMime handle, HCkCert cert);
BOOL CkMime_GetBodyBinary(HCkMime handle, HCkByteData db);
BOOL CkMime_GetBodyDecoded(HCkMime handle, HCkString decodedBody);
BOOL CkMime_GetBodyEncoded(HCkMime handle, HCkString encodedBody);
HCkCert CkMime_GetEncryptCert(HCkMime handle, long index);
void CkMime_GetEntireBody(HCkMime handle, HCkString str);
void CkMime_GetEntireHead(HCkMime handle, HCkString str);
BOOL CkMime_GetHeaderField(HCkMime handle, const char *name, HCkString value);
BOOL CkMime_GetHeaderFieldName(HCkMime handle, int index, HCkString fieldName);
BOOL CkMime_GetHeaderFieldValue(HCkMime handle, int index, HCkString fieldValue);
BOOL CkMime_GetMime(HCkMime handle, HCkString mime);
BOOL CkMime_GetMimeBytes(HCkMime handle, HCkByteData outBytes);
HCkMime CkMime_GetPart(HCkMime handle, long index);
HCkCert CkMime_GetSignerCert(HCkMime handle, long index);
BOOL CkMime_GetXml(HCkMime handle, HCkString xml);
BOOL CkMime_IsApplicationData(HCkMime handle);
BOOL CkMime_IsAttachment(HCkMime handle);
BOOL CkMime_IsAudio(HCkMime handle);
BOOL CkMime_IsEncrypted(HCkMime handle);
BOOL CkMime_IsHtml(HCkMime handle);
BOOL CkMime_IsImage(HCkMime handle);
BOOL CkMime_IsMultipart(HCkMime handle);
BOOL CkMime_IsMultipartAlternative(HCkMime handle);
BOOL CkMime_IsMultipartMixed(HCkMime handle);
BOOL CkMime_IsMultipartRelated(HCkMime handle);
BOOL CkMime_IsPlainText(HCkMime handle);
BOOL CkMime_IsSigned(HCkMime handle);
BOOL CkMime_IsText(HCkMime handle);
BOOL CkMime_IsUnlocked(HCkMime handle);
BOOL CkMime_IsVideo(HCkMime handle);
BOOL CkMime_IsXml(HCkMime handle);
BOOL CkMime_LoadMime(HCkMime handle, const char *mimeMsg);
BOOL CkMime_LoadMimeBytes(HCkMime handle, HCkByteData bData);
BOOL CkMime_LoadMimeFile(HCkMime handle, const char *fileName);
BOOL CkMime_LoadXml(HCkMime handle, const char *xml);
BOOL CkMime_LoadXmlFile(HCkMime handle, const char *fileName);
BOOL CkMime_NewMessageRfc822(HCkMime handle, HCkMime mimeObject);
BOOL CkMime_NewMultipartAlternative(HCkMime handle);
BOOL CkMime_NewMultipartMixed(HCkMime handle);
BOOL CkMime_NewMultipartRelated(HCkMime handle);
BOOL CkMime_RemovePart(HCkMime handle, int index);
BOOL CkMime_SaveBody(HCkMime handle, const char *filename);
BOOL CkMime_SaveLastError(HCkMime handle, const char *filename);
BOOL CkMime_SaveMime(HCkMime handle, const char *filename);
BOOL CkMime_SaveXml(HCkMime handle, const char *filename);
BOOL CkMime_SetBodyFromBinary(HCkMime handle, HCkByteData dbuf);
BOOL CkMime_SetBodyFromEncoded(HCkMime handle, const char *encoding, const char *str);
BOOL CkMime_SetBodyFromFile(HCkMime handle, const char *fileName);
BOOL CkMime_SetBodyFromHtml(HCkMime handle, const char *str);
BOOL CkMime_SetBodyFromPlainText(HCkMime handle, const char *str);
BOOL CkMime_SetBodyFromXml(HCkMime handle, const char *str);
BOOL CkMime_SetCSP(HCkMime handle, HCkCSP csp);
BOOL CkMime_SetHeaderField(HCkMime handle, const char *name, const char *value);
void CkMime_SetVerifyCert(HCkMime handle, HCkCert cert);
HCkEmail CkMime_ToEmailObject(HCkMime handle);
BOOL CkMime_UnlockComponent(HCkMime handle, const char *unlockCode);
BOOL CkMime_UnwrapSecurity(HCkMime handle);
BOOL CkMime_Verify(HCkMime handle);
const char *CkMime_bodyDecoded(HCkMime handle);
const char *CkMime_bodyEncoded(HCkMime handle);
const char *CkMime_boundary(HCkMime handle);
const char *CkMime_charset(HCkMime handle);
const char *CkMime_contentType(HCkMime handle);
const char *CkMime_disposition(HCkMime handle);
const char *CkMime_encoding(HCkMime handle);
const char *CkMime_entireBody(HCkMime handle);
const char *CkMime_entireHead(HCkMime handle);
const char *CkMime_filename(HCkMime handle);
const char *CkMime_getBodyDecoded(HCkMime handle);
const char *CkMime_getBodyEncoded(HCkMime handle);
const char *CkMime_getEntireBody(HCkMime handle);
const char *CkMime_getEntireHead(HCkMime handle);
const char *CkMime_getHeaderField(HCkMime handle, const char *name);
const char *CkMime_getHeaderFieldName(HCkMime handle, int index);
const char *CkMime_getHeaderFieldValue(HCkMime handle, int index);
const char *CkMime_getMime(HCkMime handle);
const char *CkMime_getXml(HCkMime handle);
const char *CkMime_header(HCkMime handle, const char *name);
const char *CkMime_headerName(HCkMime handle, int index);
const char *CkMime_headerValue(HCkMime handle, int index);
const char *CkMime_lastErrorHtml(HCkMime handle);
const char *CkMime_lastErrorText(HCkMime handle);
const char *CkMime_lastErrorXml(HCkMime handle);
const char *CkMime_micalg(HCkMime handle);
const char *CkMime_mime(HCkMime handle);
const char *CkMime_name(HCkMime handle);
const char *CkMime_protocol(HCkMime handle);
const char *CkMime_xml(HCkMime handle);
#endif
